/**
  ******************************************************************************
  * @file    sqlitex.c
  * @author  xiaohu
  * @version V1.0.0
  * @date    02-22-2016
  * @brief   日志处理
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; COPYRIGHT 2016 上海今中网络科技有限公司 </center></h2>
  ******************************************************************************
  */
#include "sqlitex.h"

  /**
  * @brief  得到记录数
  * @param  1、数据库连接对象 2、表名 3、错误
  * @retval -1表示失败，其他记录数
  */
long get_table_columns(sqlite3* db, const char *tableName)
{
    char *errmsg = NULL;
    char **result = NULL;
    char sqlbuf[256]={0};
    sprintf(sqlbuf, "select count(*) from %s;", (char *)tableName);
    if(sqlite3_get_table(db, sqlbuf, &result, NULL, NULL, &errmsg) != SQLITE_OK)
    {
        MSG(LOG_ERROR, "[sqlite:get_table_columns] %s!", errmsg);
        sqlite3_free(errmsg);
        return -1;
    }
    MSG_DEBUG("[h][get_table_columns] result : %s \n",(char *)result[1]);
    return atol(result[1]);
}


/**
  * @brief  删除记录
  * @param  1、数据库连接对象 2、表名 3、开始位置 4、结束位置
  * @retval -1表示失败，0成功
  */
int del_table_columns(sqlite3* db, const char *tableName,int begin, int end)
{
    char *errmsg = NULL;
    char sqlbuf[256]={0};
    sprintf(sqlbuf, "delete from tbzdlog where logid in \
                    (select logId from %s order by logId limit %d,%d);", (char *)tableName, begin, end);
    if(sqlite3_exec(db, sqlbuf, NULL, NULL, &errmsg) != SQLITE_OK)
    {
        MSG(LOG_ERROR, "[sqlite:del_table_columns] %s!", errmsg);
        sqlite3_free(errmsg);
        return -1;
    }
    MSG_DEBUG("[h][del_table_columns] success \n");
    return 0;
}

